<?php
		
	/* SVN FILE: $Id: login.php 8 2011-03-13 08:32:38Z michele.andreoletti@gmail.com $ */
	
	/**
	 * Project Name : arcadia
	 *
	 * @author $Author: michele.andreoletti@gmail.com $
	 * @version $Revision: 8 $
	 * @lastrevision $Date: 2011-03-13 08:32:38 +0000 (Sun, 13 Mar 2011) $
	 * @filesource $URL: http://arcadia.googlecode.com/svn/trunk/login.php $
	 */
	
	require_once 'include/functions.php';
	require_once 'include/const.inc.php';
	// require_once 'include/auth.inc.php';
	require_once 'include/conn.inc.php';

	// Logoff
	if (isset($_GET['iLogoff'])) {
		if ($_GET['iLogoff'] == 1) {
			
			if (!isset($_SESSION)) { session_start(); }
							// non avendo incluso auth.inc.php la sessione non è ancora stata
							// inizializzata, quindi lo faccio adesso altrimenti nel log non 
							// comparirebbe il contenuto della variabile sUsername dell'utente collegato.
	    	
	    	fnUpdateLog('LOGOFF',0,'','S');
	    	
	    	session_unset();
	    	session_destroy();
	    	
			if (isset($_COOKIE[$sSUITE_NAME]) && !empty($_COOKIE[$sSUITE_NAME])) {
				if (fnAuthenticationCoockieDataCheck()) {
					// se è presente un coockie con un codice di autenticazione valido, lo elimino dal database
					fnDeleteCode(fnReadAuthenticationCoockie('sUsername'), fnReadAuthenticationCoockie('sCode'));								
				}
				// elimino il coockie (non importa se il codice di autenticazione sia valido)
				setcookie($sSUITE_NAME, '', time()-1);
			}
			
			header('Location: login.php');
			die();
		}
	}

	// Verifica delle credenziali di accesso
	if (		isset($_POST['sLogin']) 		&& 	!empty($_POST['sLogin'])
			&& 	isset($_POST['sPassword']) 	&& 	!empty($_POST['sPassword'])	) {

		$sQuery = fnQueryAuthentication($_POST['sLogin'], $_POST['sPassword']);
		$rResult = custom_mysql_query($sQuery, 'fnQueryAuthentication()');

		// Autenticazione avvenuta con successo
		if (mysql_num_rows($rResult) == 1) {
			
			$bRememberMe = (isset($_POST['iRememberMe']) && $_POST['iRememberMe'] == 1 ? true : false);
			
			fnAuthentication($rResult, $bRememberMe);

			if (isset($_POST['sRedirect'])) {
	    		$sRedirect = $_POST['sRedirect'];
				// completo l'indirizzo aggiungendo gli eventuali parametri in $_POST alla variabile $sRedirect
	    		foreach ($_POST as $key => $value) {
					if ($key != 'sRedirect' && $key != 'sLogin' && $key != 'sPassword' && $key != 'iRememberMe' && $key != 'commit') {
						$sRedirect .= ($sRedirect == $_POST['sRedirect'] ? "?" : "&").$key."=".$value;
					}	
				}
			} else {
				$sRedirect = 'index.php';
			}
			header("Location: $sRedirect");
			die();

		} else {
			// Autenticazione fallita
			fnUpdateLog('LOGIN FAILED ['.(!isset($_POST['sLogin']) || $_POST['sLogin'] == '' ? '---' : $_POST['sLogin']).']',0,'','S');
			$bFailed = true;
	  	}

	} else {
		// Prima richiesta di autenticazione
		$bFailed = false;
	}

	// Codice html della pagina di autenticazione
	
	if (!isset($_SESSION)) { session_start(); }

	if (isset($_GET['sRedirect'])) {
		$sRedirect = $_GET['sRedirect'];
		$sInputs = '';
		foreach ($_GET as $sKey => $sValue) {
			if ($sKey != 'sRedirect') {
				$sInputs .= "<input type='hidden' name='".$sKey."' value='".$sValue."'>";
			}
		}
	} else {
		$sRedirect = "index.php";
	}

	require_once("./themes/$sTHEME/login.php");
	die();

?><html><body bgcolor="#fff"></body></html>